public class Study {
	/*第一个异常*/
	public static void main (String[] args) {
		String str = "100a"; 
		int num = Integer.parseInt(str);// 报错，异常，num 中包含了，字符Integer.parseInt 无法识别
		System.out.println(num);

	}




	/*将字符串转换为 int 的类型*/
	public static void main16 (String[] args) {
		String str = "100";
		int num = Integer.parseInt(str);
		// Integer.parseInt 包装类，方法
		System.out.println(num);
	}



	/*将 int 转换为 字符串类型*/
	public static void main15 (String[] args) {
		/*String[] args 运行的命令行参数 */
		// 方法 一
		int num = 10;
		String str1 = num +"";
		System.out.println(str1);
		// 方法 二
		String str = String.valueOf(num);
		// valueOf 的包装类，方法
		System.out.println(str);


	}
 


	/*boolean 类型是在一定的程度上是不可以转换的*/
	public static void main14 (String[] arga) {
		boolean flag = false ;
		/*int num = flag;
		int num2 = (int) flag ;
		System.out.println(num);
		System.out.println(num2);*/
	}





	/*boolean 类型是在一定的程度上是不可以转换的*/
	public static void main13 (String[] args) {
		/*String[] args 运行的命令行参数*/
		int num = 99 ;
		/*boolean flag = num;
		boolean flag2 = (boolean)num ;
		System.out.println(flag);
		System.out.println(flag2);*/

	}



	/*显式的类型的转换*/
	public static void main12 (String[] args) {
		/*String[] args 运行的命令行参数*/
		long num = 10L; // 用于区别默认的 int 类型
		int num2 = (int) num ; // 将 long 类型强制转换为 int 的类型
		System.out.println(num2);


		// 同理
		System.out.println("--------------------");

		int num3 = 1;
		double num4 = 9.99;
		num3 = (int)num4;
		num4 = (double)num3;

		System.out.println(num3); // 会丢失精度
		System.out.println(num4);



	}



	/*隐式的类型的转换*/
	public static void main11 (String[] args) {
		int a =10 ;
		long b = a ; // 隐式的类型的转换 将int类型的转换为了 long 的类型
		System.out.println(b);
	}



	/*常量的认识(final修饰变量的常量 的认识)*/
	public static void main10 (String[] args) {
		final int MAXNUM ;
		MAXNUM = 10;
		System.out.println(MAXNUM);
	}


	/*常量的认识(final修饰变量的常量 的认识)*/
	public static void main9 (String[] args) {
		final int MAXNUM = 10 ;
		// MAXNUM = 99 ;
		System.out.println(MAXNUM);
	}



	/*作用域：会被打的代码风格*/
	public static void main8 (String[] args) {
		/*String[] args 运行的命令行参数*/
		{
			int num = 10 ;
			System.out.println(num); // num 只在该代码块，有用
		}
		// System.out.println(num); // 报错
	}



	/* 整形的提升*/
	public static void main7 (String[] args) {
		byte num = 10;
		byte num2 = 20 ;
	   /* byte num3 = num + num2; // 报错
		System.out.println(num3); // 
*/
	}




	/*老手 PK 新手*/
	public static void main6 (String[] args) {
		boolean flag = true;
		if(flag == true) {} // 新手

		if(flag) {} // 老手 因为 flag（true） 为真就直接执行,为假（false）不执行

		/*Less is More  代码要精简易读*/
	}



	/*字符串的扩展*/
	public static void main5 (String[] args) {
		/*String[] args 运行命令行参数*/
	/*String sa = new String (original:"Hello World");
	String sb = new String (original:"Hello World"); // 未 解决

		System.out.println("sa == sb: "+sa == sb );
		System.out.println("-----------------------");*/
		String sc = "Hello World"; 
		String sd = "Hello World";
		System.out.println("sc == sb:"+(sc == sd) );

	}




	/*字符的扩展*/
	public static void main4 (String[] args) {
		/*String[] args 运行命令行参数*/
		char c1 = 'a';
		char c2 = '中'; // 在Java中 char 是占2个字节大小的
		System.out.println(c1);
		System.out.println((int)c1); // 强制类型转换 为(int)
		System.out.println(c2);
		System.out.println((int)c2); // 强制类型转换为（int） 
		char c3 ='\u0061';
		System.out.println(c3);
		/*在java 中是Unicode的编码比ASCLL的范围更大的多*/
	}




	/*再次探究浮点数的扩展*/
	public static void main3 (String[] args) {
		/*String[] args 运行的命令行参数*/
		float decimals = 0.1f ; // f 用于区别默认的double 类型
		double decimals2 = 1.0 / 10 ; // == 0.1 
		System.out.println(decimals2 == decimals); // 结果： false (不相等)
	}																	



	/*浮点数的扩展*/
	public static void main2 (String[] args) {
		/*String[] args 运行命令行参数*/
		float decimals = 231231231231231231F; // F 用于区别默认的 double 类型
		float decimals1 = decimals+1;
		System.out.println(decimals == decimals1); // 注意：结果居然是：true 

	}


	/*整数的扩展*/
	public static void main1 (String[] args) {
		int num = 10; // 十进制
		int num2 = 010; // 八进制
		int num3 = 0x10; // 十六进制
		System.out.println(num); // 10
		System.out.println(num2); // 8
		System.out.println(num3);// 16
		// 注意：这里的println是以十进制的方式打印出来的 
	}
}